home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / elk-2_0.lha / elk-2.0 / lib / xaw / grip.d < prev    next >
Encoding:
Text File  |  1991-10-30  |  668 b   |  27 lines

  1. ;;; -*-Scheme-*-
  2.  
  3. (define-widget-type 'grip "Grip.h")
  4.  
  5. (define-widget-class 'grip 'gripWidgetClass)
  6.  
  7. (define-callback 'grip 'callback #t)
  8.  
  9. (c->scheme 'grip-callback
  10. "   Object args, ret, t;
  11.     register i;
  12.     GripCallData p = (GripCallData)x;
  13.     GC_Node3;
  14.  
  15.     args = ret = t = Null;
  16.     GC_Link3 (args, ret, t);
  17.     args = Get_Event_Args (p->event);
  18.     ret = Cons (Copy_List (args), Null);
  19.     Destroy_Event_Args (args);
  20.     t = P_Make_List (Make_Fixnum (p->num_params), Null);
  21.     for (i = 0, Cdr (ret) = t; i < p->num_params; i++, t = Cdr (t)) {
  22.     Object s = Make_String (p->params[i], strlen (p->params[i]));
  23.     Car (t) = s;
  24.     }
  25.     GC_Unlink;
  26.     return ret;")
  27.